Software piracy costs software manufacturers hundreds of millions annually in lost sales. Software piracy can take many forms. Although the most common form is to make unlawful copies of software, other forms include unlawfully enabling and using unpaid for software features in otherwise validly licensed software and using validly licensed software outside of permissible geographic parameters. In the latter situation, globally sold software has different pricing structures based on different geographic regions. The differing pricing structures depend on a variety of factors, including exchange rate, demand, and the socioeconomic status of the region. For example, software are often sold at higher prices in the U.S., Japan, South Korea, and Europe but at lower prices in lesser developed countries such as China. Obviously, there is a great financial incentive to buy “gray market” software in China when they are destined for use in the U.S., Japan, South Korea, or Europe.
One method uses serial number information (e.g., medium access control or MAC address) to associate licensed software with corresponding hardware and uses differing hardware identifiers for differing price regions. In this method, a valid license file is required to run a computational component. The license file contains a serial number that must be present on the hardware that is to execute the licensed software for the license to be valid and the software to be executable. In telecommunication applications, for example, the serial number of the control processor must be in the license file for the control processor to run the licensed software. The hardware identifiers are differing versions or ranges of the serial numbers, such that a specified region has a serial number of a particular format or within a particular range. When the system determines whether a valid license file is present, one of the checks is to determine whether or not the license has expired based on the system clock value and another is to determine for a stored region code set by the manufacturer that the serial number is correct for the corresponding region. This method is discussed in copending U.S. patent applications entitled “Securing Feature Activation in a Telecommunication System”, Ser. No. 09/357,679, filed Jul. 20, 1999, to Serkowski; “License Modes in Call Processing”, Ser. No. 10/232,508, filed Aug. 30, 2002; “Remote Feature Activator Feature Extraction”, Ser. No. 10/232,906, filed Aug. 30, 2002; “Flexible License File Feature Controls”, Ser. No. 10/231,999; “License File Serial Number Tracking”, Ser. No. 10/232,507; “Licensing Duplicated Systems”, Ser. No. 10/231,957; “Software Licensing for Spare Processors”, Ser. No. 10/232,647; “Temporary Password Login”, Ser. No. 10/387,182; and “Ironclad Notification of License Errors”, Ser. No. 10/405,176; each of which is incorporated herein by this reference, and is currently being implemented commercially in Communication Manager™ by Avaya, Inc.™.
The use of the system clock setting to determine whether or not the license has expired can be circumvented by the licensee. As will be appreciated, software licenses can be limited or unlimited in duration. Licenses that are limited in duration are often much less expensive to purchase than those that have longer durations or unlimited durations. By adjusting the system clock setting, an unscrupulous licensee can indefinitely extend the duration of a limited duration license beyond its otherwise permissible duration and thereby gain a substantial and illegal windfall.
Moreover, the use of a region code or location feature coupled with a specific serial number provides only weak security against geographic software piracy. The mechanism addresses only gray market hardware issues. It does not address gray market software concerns.